package cn.com.surker.system.dao;

import cn.com.surker.system.entity.SysPosition;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 职位表 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2022-10-05
 */
public interface SysPositionDao extends BaseMapper<SysPosition> {

    /**
     *
     * @param orgId
     * @return
     */
    List<Map<String, Object>> queryUserPosition(Long orgId);

    /**
     * 根据用户ID 查询岗位与角色关联关系
     * @param uid
     * @return
     */
    List<Map<String, Object>> queryRolePosition(Long uid);

    /**
     * 查询岗位下面所有用户
     * @param ids 拼接ID
     * @return
     */
    List<Map<String, Object>> queryPositionUser(String ids);

    /**
     * 根据部门ID岗位ID查询下属用户
     * @param position 岗位ID
     * @param deptId 部门ID
     * @param orgId 公司ID
     * @return
     */
    List<Map<String, Object>> queryPositionOrOriginByUser(Long position, Long deptId, Long orgId);

    /**
     * 根据岗位查询用户信息
     * @param position 岗位
     * @param orgId 公司ID
     * @return
     */
    List<Map<String, Object>> findPositionByUser(String position, Long orgId);

    /**
     * 根据部门ID岗位ID查询下属用户
     * @param ids 拼接ID
     * @return
     */
    List<Map<String, Object>> queryOriginOrPosition(String ids, Long orgId);


    /**
     * 查询部门负责人
     * @param orgId 部门ID
     * @return
     */
    List<Map<String, Object>> querySameDeptUser(Long orgId);


    /**
     * 查询部门下所有用户
     * @param orgIds 部门ID
     * @return
     */
    List<Map<String, Object>> queryDeptAllUser(String orgIds);

    /**
     *
     * @param uid
     * @return
     */
    List<Map<String, Object>> queryByUidPosition(Long uid);

}
